متاسفانه کمپایلرهای مختلف از شیوهها و استانداردهای خود استفاده میکنند که میتواند با استانداردهای زبانهای برنامهنویسی هماهنگ نباشند. برنامههای دریافت شده هم به ناچار از یک کمپایلر استفاده میکند؛ بنابراین ملاک ارزیابی تمرینات خروجی گرفته شده از این کمپایلر است. کمپایلرهای به کار گرفته شده معمولا از کمپایلرهای gcc هستند که سازگاری بیشتری با سیستم عاملهای مختلف و استانداردهای رسمی دارند. پس دقت کنید برنامههای شما بایستی با کمپایلر مصحح سازگاری داشته باشند. همچنین کلیهی ویژگیهایی که از زبانهای دیگر اضافه شده باشند یا قابلیت افزودهی کمپایلر باشد و به طور کلی جزو استاندارد زبان برنامهنویسی نباشد، غیر فعال هستند.
به عنوان مثال برای زبان C برنامهها با استاندارد ANSI C کمپایل خواهند شد و استفاده از کتابخانههای C++ و یا استفاده از Memory Garbage Collection که در کمپایلر gcc به عنوان افزونه اضافه شده است، ممکن نیست. چرا که جزو استاندارد ANSI C نیست. دقت کنید برنامههای شما از کتابخانههای مناسب استفاده کنند. برای مثال کتابخانهای تحت عنوان conio.h در اختیار شما نیست. لیست برخی از کتابخانههای رایج به این شرح است:
کمپایلرهای gcc برای ویندوز از اینجا قابل دریافت هستند. در صورتی که این کمپایلر را در مسیر
cd C:\mingw\ bin\gcc.exe .\1.c -o .\omaybe some errors or warnings .....\o
خط اول وارد مسیر mingw میشود. خط دوم کمپایلر gcc را اجرا میکند و به عنوان آرگومان اول آدرس فایل برنامه را میدهد. در این مثال
فرض شده فایل
همچنین میتوانید در هر مسیری که هستید به صورت گرافیکی فایل سورس برنامه را انتحاب کرده و بر روی برنامهی کمپایلر (gcc.exe در اینجا) Drag & Drop کنید. فایل اجرایی در مسیر فایل ورودی ساخته میشود و میتوانید آن را باز کنید.
چنانچه از کمپایلر خواسته شده استفاده نمیکنید، برای اطمینان از کمپایل شدن تمرینات خود حتما قبل از ارسال تمرین برنامه را با کمپایلر آنلاین تست کنید.
مقدار زمان و حافظهی تخصیص داده شده به برنامهی شما محدود است. شما میتوانید از فایلهایی که ارسال میکنید برای خواندن و نوشتن استفاده کنید. استفاده از دیگر فایلها محدود شده است و نمیتوانید به تمام دستورات و برنامههای موجود در سیستم دستیابی پیدا کنید. این محدودیتها برای پاسخ تمرینات دریافت شده از شما غالبا مهم نیستند. تنها در نظر داشته باشید که فقط از فایلهای ارسال شده در سری تمرین خودتان میتوانید بدون محدودیت برای خواندن و نوشتن استفاده کنید و مجاز به انجام هر عملیاتی نیستید.
برنامهی شما به مدت زمانی که توسط استاد تعیین میشود میتواند زمان سیستم را به خود اختصاص دهد. چنانچه در این مدت برنامه خاتمه پیدا نکند، به عنوان
پاسخ صحیح شناخته نمیشود. دقت کنید منظور از خاتمه بسته شدن برنامه است و هرگز نباید به شیوهای جلوی این عمل گرفته شود. مثلا برای برنامههای C
نباید در انتهای برنامه با استفاده از system (pause);
یا getchar();
برنامه را باز نگه دارید.
پیش از ارسال تمرینات بایستی در درس مربوطه عضو شده باشید. از قسمت دروس، با کلیک بر روی درس مورد درخواست عضویت خود را ثبت کنید.
شما مجاز هستید تا زمانی که به عنوان مهلت ارسال تمرینات معرفی میشود، پاسخ تمرینات را بفرستید. این زمان الزاما زمان تصحیح تمرینات نخواهد بود. بنابراین دقت کنید زمان تصحیح را با مهلت ارسال اشتباه نکنید.
سری تمرینات بایستی در قالب یک فایل زیپ شده باشند. در این فایل محتویات برنامههای شما قرار دارند. به این صورت که بایستی برای هر تمرین نام فایل مربوطه به عنوان شمارهی تمرین و پسوند مناسب با تمرین انتخاب شود. به عنوان مثال فایلی با نام 2.c به عنوان پاسخ تمرین دوم برای زبان C ارزیابی میشود. بدیهی است چنانجه از نام دیگری برای این تمرین استفاده شود؛ تمرین تصحیح نخواهد شد. در Microsoft Windows میتوانید از قسمت My Computer/Tools/Folder Options گزینهی Hide extentions for known types را غیر فعال کنید. با نمایش پسوند فایلها اطمینان حاصل کنید فایلها با پسوند دیگری (مثلا 1.c.CPP) نامگذاری نشده اند.
فایلهایی که کمپایل میشوند (مثلا 5.cpp) هرگز نباید بعد از unzip شدن در پوشهی دیگری قرار داشته باشند. به صورت پیشفرض زمانی که در Microsoft Windows از طریق کلیک راست بر روی یک پوشه و گزینهی Send to zip archive عمل میکنید، محتویات پوشه بعد از unzip کردن قابل دسترسی نیستند و در پوشهی مذکور قرار دارند. فایل Bad.zip فایل معتبری نیست:
unzip -t Bad.zip
Archive: Bad.zip
testing: t3/ OK
testing: t3/1.pas OK
testing: t3/2.pas OK
testing: t3/3.pas OK
No errors detected in compressed data of Bad.zip.
چرا که بعد از unzip شدن، فایلهای پاسکال را در فولدر t3 قرار میدهد. برای حل این مشکل هنگام فشرده سازی با Microsoft Windows فایل ها را انتخاب کنید و سپس از Send to archive استفاده کنید. در صورتی که از winrar استفاده میکنید میتواند محتویات فایل zip را ببینید. در غیر این صورت با یک بار unzip کردن از صحت فایل اطمینان حاصل کنید. فایل Good.zip نمونهی فایل تهیه شده با این روش است:
unzip -t Good.zip
Archive: Good.zip
testing: 1.pas OK
testing: 2.pas OK
testing: 3.pas OK
No errors detected in compressed data of Good.zip.
برنامههای شما بر مبنای مقایسه خروجی تصحیح میشوند. سعی کنید خروجی را دقیقا به صورتی که از شما خواسته شده است طراحی کنید. هنگامی که برنامهی شما پیغامی چاپ میکند که مد نظر مصحح نیست؛ نمرهای به دست نمیآورید. برای مثال اگر از شما خواسته شده است که برنامهای بنویسید تا عددی دریافت کند و عملیاتی روی آن اجرا کند و خروجی را چاپ کند؛ برنامهی شما بایستی تنها عدد خروجی را نمایش دهد و خاتمه پیدا کند. هر پیغامی که در این میان نمایش داده شود و مورد نظر مصحح نباشد باعث از دست رفتن نمرهی شما میشود. مثلا در این مثال نباید پیغام "Please enter your number" یا هر چیز دیگری چاپ شود، چرا که چنین چیزی از شما درخواست نشده است.
چنین حساسیتهایی برای تعداد خطوط خالی، استفاده از کارکترهای فاصله در ابتدا یا انتهای خط، حساسیت نسب به حروف بزرگ و کوچک و مانند اینها هم وجود دارد ولی معمولا به صورتی متناسب با تمرین تنظیم میشوند که تمرینات بیشتری به عنوان پاسخ صحیح تلقی شوند.